require File.join(pwd, '../../../../../build/jake.rb')

def build_extension(name)
  dir = File.join($rootdir, "lib/commonAPI/#{name}/ext/platform/qt")
#  qmake = "#{$qmake} -o Makefile -r -spec #{$qmake_spec} #{name}.pro CONFIG+=debug CONFIG-=release #{$qmakevars}"
    qmake = "#{$qmake} -o Makefile -r -spec #{$qmake_spec} #{name}.pro CONFIG-=debug CONFIG+=release #{$qmakevars}"
  if $platform == 'osx'
      qmake = "#{$qmake} -o Makefile -r -spec #{$qmake_spec} #{name}.pro CONFIG-=debug CONFIG+=release #{$qmakevars} -early QMAKE_DEFAULT_LIBDIRS=$(xcrun -show-sdk-path)/usr/lib"
  end

  Jake.run3(qmake           , dir)
  #Jake.run3("#{$make} clean", dir)
  Jake.run3("#{$make} all"  , dir)
end

namespace "build" do
  task :config do
    $platform = ENV['RHO_PLATFORM']
    raise "RHO_PLATFORM is not set" if $platform.nil?
    $rootdir = ENV['RHO_ROOT']
    raise "RHO_ROOT is not set" if $rootdir.nil?
    $qmake = ENV['RHO_QMAKE']
    raise "RHO_QMAKE is not set" if $qmake.nil?
    $qmake_spec = ENV['RHO_QMAKE_SPEC']
    raise "RHO_QMAKE_SPEC is not set" if $qmake_spec.nil?
    $qmakevars = ENV['RHO_QMAKE_VARS']
    if $platform == 'win32'
      $make = 'nmake'
    else
      $make = 'make'
    end
  end

  task :all => :config do
    build_extension('coreapi')
  end
end

task :default => "build:all"
